// clang-format off
/**
 *  @file
 *  @brief   定义DataStructure 层和模块的命名空间
 *  @author  wanghuan
 *  @date    2024.02.29
 *  @version  v1.0
 *  @par Copyright(c):  ShenGong  Simulation corporation
 */

#pragma once
#include "SGNamespace.h"

#define NS_DATASTRUCTURE    namespace DataStructure {
#define NS_COMMON           namespace Common {
#define NS_FEM              namespace FEM {
#define NS_POST             namespace Post {

// SG::DataStructure
#define SG_DATASTRUCTURE_NAMESPACE_OPEN NS_SG NS_DATASTRUCTURE
#define SG_DATASTRUCTURE_NAMESPACE_CLOSE NS_CLOSE NS_CLOSE

// SG::DataStructure::Common
#define SG_DATASTRUCTURE_COMMON_NAMESPACE_OPEN NS_SG NS_DATASTRUCTURE NS_COMMON
#define SG_DATASTRUCTURE_COMMON_NAMESPACE_CLOSE NS_CLOSE NS_CLOSE NS_CLOSE

// SG::DataStructure::FEM
#define SG_DATASTRUCTURE_FEM_NAMESPACE_OPEN NS_SG NS_DATASTRUCTURE NS_FEM
#define SG_DATASTRUCTURE_FEM_NAMESPACE_CLOSE NS_CLOSE NS_CLOSE NS_CLOSE

// SG::DataStructure::Post
#define SG_DATASTRUCTURE_POST_NAMESPACE_OPEN NS_SG NS_DATASTRUCTURE NS_POST
#define SG_DATASTRUCTURE_POST_NAMESPACE_CLOSE NS_CLOSE NS_CLOSE NS_CLOSE